//生成菜单
var menuItem = Vue.extend({
    name: 'menu-item',
    props:{item:{}},
    template:[
        '<li>',
        '	<a v-if="item.type === 0" href="javascript:;">',
        '		<i v-if="item.icon != null" :class="item.icon"></i>',
        '		<span>{{item.name}}</span>',
        '		<i class="fa fa-angle-left pull-right"></i>',
        '	</a>',
        '	<ul v-if="item.type === 0" class="treeview-menu">',
        '		<menu-item :item="item" v-for="item in item.list"></menu-item>',
        '	</ul>',

        '	<a v-if="item.type === 1 && item.parentId === 0" :href="\'#\'+item.url">',
        '		<i v-if="item.icon != null" :class="item.icon"></i>',
        '		<span>{{item.name}}</span>',
        '	</a>',

        '	<a v-if="item.type === 1 && item.parentId != 0" :href="\'#\'+item.url"><i v-if="item.icon != null" :class="item.icon"></i><i v-else class="fa fa-circle-o"></i> {{item.name}}</a>',
        '</li>'
    ].join('')
});

//iframe自适应
$(window).on('resize', function() {
	var $content = $('.content');
	$content.height($(this).height() - 120);
	$content.find('iframe').each(function() {
		$(this).height($content.height());
	});
}).resize();

//注册菜单组件
Vue.component('menuItem',menuItem);

var vm = new Vue({
	el:'#rrapp',
	data:{
		user:{},
		menuList:{},
		main:"modules/sys/user.html",
		password:'',
		newPassword:'',
        navTitle:"控制台"
	},
	methods: {
		getMenuList: function (event) {
			$.getJSON("sys/menu/nav?_"+$.now(), function(r){
				vm.menuList = r.menuList;
			});
		},
		getUser: function(){
			$.getJSON("sys/user/info?_"+$.now(), function(r){
				vm.user = r.user;
			});
		},
		formatterObj: function() {
			$('#repw').bootstrapValidator({
			  // 默认的提示消息
			  message: 'This value is not valid',
			  live: 'enabled',
			  // 表单框里右侧的icon
			  feedbackIcons: {
			  valid: 'glyphicon glyphicon-ok',
			  invalid: 'glyphicon glyphicon-remove',
			  validating: 'glyphicon glyphicon-refresh'
			  },
			  submitHandler: function (validator, form, submitButton) {
				// 表单提交成功时会调用此方法
				// validator: 表单验证实例对象
				// form  jq对象  指定表单对象
				// submitButton  jq对象  指定提交按钮的对象
			  },
			  fields: {
				repassword: {
					validators: {
					  notEmpty: {
						message: '密码不能为空'
					  },
					  regexp: {
						regexp: /^[A-Za-z0-9]+$/,
						message: '只能用英文或数字作为密码'
					  }
					}
				},
				password: {
				  validators: {
					notEmpty: {
					  message: '密码不能为空'
					},
					regexp: {
					  regexp: /^[A-Za-z0-9]+$/,
					  message: '只能用英文或数字作为密码'
					}
				  }
				}
			  }
			});
		  },
		updatePassword: function(){
			console.log("弹窗")
			layer.open({
				type: 1,
				skin: 'layui-layer-molv',
				title: "修改密码",
				area: ['550px', '400px'],
				shadeClose: false,
				content: jQuery("#passwordLayer"),
				btn: ['修改','取消'],
				btn1: function (index) {
					var bvObj = $("#repw").data("bootstrapValidator");
					bvObj.validate()
					const res = bvObj.isValid();
					if (res) {
						var data = "password="+vm.password+"&newPassword="+vm.newPassword;
						$.ajax({
							type: "POST",
							url: "sys/user/password",
							data: data,
							dataType: "json",
							success: function(result){
								if(result.code == 0){
									layer.close(index);
									layer.alert('修改成功', function(index){
										location.reload();
									});
								}else{
									layer.alert(result.msg);
								}
							}
						});
					}
	            }
			});
			this.formatterObj()
		},
        donate: function () {
            layer.open({
                type: 2,
                title: false,
                area: ['806px', '467px'],
                closeBtn: 1,
                shadeClose: false,
                content: ['http://cdn.renren.io/donate.jpg', 'no']
            });
        }
	},
	created: function(){
		this.getMenuList();
		this.getUser();
	},
	updated: function(){
		//路由
		var router = new Router();
		routerList(router, vm.menuList);
		router.start();
	}
});



function routerList(router, menuList){
	for(var key in menuList){
		var menu = menuList[key];
		if(menu.type == 0){
			routerList(router, menu.list);
		}else if(menu.type == 1){
			router.add('#'+menu.url, function() {
				var url = window.location.hash;
				
				//替换iframe的url
			    vm.main = url.replace('#', '');
			    
			    //导航菜单展开
			    $(".treeview-menu li").removeClass("active");
			    $("a[href='"+url+"']").parents("li").addClass("active");
			    
			    vm.navTitle = $("a[href='"+url+"']").text();
			});
		}
	}
}
